<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>浮动</title>
    <style>
      /*div {
        float: left;
        width: 200px;
        height: 200px;
        background-color: pink;
      }
      
      span {
        float: left;
        width: 200px;
        height: 200px;
        background-color: pink;
      }*/

      /*方法三
      .clearfix::after {
        content: "";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
      }
      .clearfix {
        *zoom: 1;
      }*/
      /*方法四
      .clearfix::before,
      .clearfix::after {
        content: "";
        display: table;
      }
      .clearfix::after {
        clear: both;
      }
      .clearfix {
        *zoom: 1;
      }*/

      .box {
        /*清除浮动 方法二
        overflow: hidden;*/
        width: 600px;
        background-color: pink;
      }
      .damao {
        float: left;
        width: 200px;
        height: 200px;
        background-color: aqua;
      }
      .ermao {
        float: left;
        width: 200px;
        height: 200px;
        background-color: aqua;
      }
      .footer {
        height: 200px;
        width: 200px;
        background-color: black;
      }
      .clear {
        /*清除浮动影响*/
        clear: both;
      }
    </style>
  </head>
  <body>
    <p>
      网页布局第一准则：多个块级元素纵向排列找标准流，多个块级元素横线排列找浮动
      设置了浮动的元素最重要的特性：
      1.脱离了标准普通流的控制（浮）移动到指定位置（动），（俗称脱标）
      2.浮动的盒子不再保留原先的位置
      如果多个盒子都设置了浮动，则它们会按照属性值一行显示并且顶端对齐排列
      注意：浮动的元素是相互贴靠在一起的（不会有缝隙），如果父级宽度装不下这些浮动的盒子，多出来的盒子会另起一行对齐排列
      浮动元素会具有行内块元素特性
      任何元素都可以浮动。不管原先是什么模式的元素，添加浮动之后具有行内块元素相似的特性
      1.如果块级盒子没有设置宽度，默认宽度和父级一样宽，但是添加浮动后，它的大小根据内容来决定
      2.浮动的盒子中间是没有缝隙的，是紧挨着一起的 3.行内元素同理
      为了约束浮动元素位置，我们网页布局一般采取的策略是：
      先用标准流的父元素排列上下位置，之后内部子元素采取浮动排列左右位置，符合网页布局第一准则
      浮动的盒子只会影响浮动盒子后面的标准流，不会影响前面的标准流。
      清除浮动方法 1.额外标签法也称隔墙法
      新增的盒子必须是块级元素不能是行内元素2.父级添加 overflow 属性 3.父级添加
      after 伪元素 4.父级添加双伪元素
    </p>
    <div class="right">影</div>
    <div class="left">甘雨</div>
    <span>1</span>
    <span>2</span>

    <div class="box clearfix">
      <div class="damao">大猫</div>
      <div class="ermao">二毛</div>
      <!--方法一 <div class="clear"></div> -->
    </div>
    <div class="footer"></div>
  </body>
</html>
